package com.insurance.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.insurance.common.utils.PageUtils;
import com.insurance.entity.PartnerRolePermissionEntity;

import java.util.List;
import java.util.Map;

/**
 * 合作方角色权限表
 *
 * @date 2021-02-27 15:51:21
 */
public interface PartnerRolePermissionService extends IService<PartnerRolePermissionEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 通过角色主键查询角色权限对象集合
     *
     * @param roleId 角色主键
     * @return
     */
    List<PartnerRolePermissionEntity> getRolePermissionByRoleId(String roleId);

    /**
     * 通过角色主键查询权限字符串集合
     *
     * @param roleId 角色主键
     * @return
     */
    List<String> getRolePermissionStrByRoleId(String roleId);

    /**
     * 通过角色主键集合查询权限字符串集合
     *
     * @param roleIdList 角色主键集合
     * @return
     */
    List<String> getRolePermissionStrByRoleIdList(List<String> roleIdList);

    /**
     * 批量保存角色权限关系表
     *
     * @param rolePermissionList 角色权限集合
     * @return
     */
    boolean saveRolePermissionList(List<PartnerRolePermissionEntity> rolePermissionList);

    boolean deleteRolePermissionByRoleId(String roleId);

    boolean saveAndDelete(String roleId, List<PartnerRolePermissionEntity> rolePermissionList) throws Exception;

}

